/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itschapala.dsw2.vista;

import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.itschapala.dsw2.biblioteca8a.bl.LibroBlLocal;
import mx.itschapala.dsw2.biblioteca8a.bl.PrestamoBlLocal;
import mx.itschapala.dsw2.biblioteca8a.bl.usuarioBLLocal;
import mx.itschapala.dsw2.biblioteca8a.modelo.Libro;
import mx.itschapala.dsw2.biblioteca8a.modelo.Prestamo;
import mx.itschapala.dsw2.biblioteca8a.modelo.Usuario;

/**
 *
 * @author Maq.9
 */
@ManagedBean
@SessionScoped
public class PrestamoBean {
    //---------------ejb-------------
    @EJB
    private PrestamoBlLocal prestamoBl;
     
    @EJB
    private usuarioBLLocal usuarioBL;
   
    @EJB
    private LibroBlLocal libroBl;
    
    
    //---------------variables----------
private int n;
private Libro libro;
private String accion;
private Usuario usuario;
private Prestamo prestamo;

private List<Libro> listaLibros;
private String CodigoLibro; 
private List<Usuario> listaUsuarios;
private List<Prestamo> ListaPrestamos;

private int idUsuarioSelicionado;

    public PrestamoBean() {
        prestamo= new Prestamo();
        listaLibros = new ArrayList<Libro>();
    }

    public Libro getLibro() {
        return libro;
    }

    public void setLibro(Libro libro) {
        this.libro = libro;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public Prestamo getPrestamo() {
        return prestamo;
    }

    public void setPrestamo(Prestamo prestamo) {
        this.prestamo = prestamo;
    }

    public String getCodigoLibro() {
        return CodigoLibro;
    }

    public void setCodigoLibro(String CodigoLibro) {
        this.CodigoLibro = CodigoLibro;
    }

    public int getIdUsuarioSelicionado() {
        return idUsuarioSelicionado;
    }

    public void setIdUsuarioSelicionado(int idUsuarioSelicionado) {
        this.idUsuarioSelicionado = idUsuarioSelicionado;
    }
    
    //----------metodos de listas---------------
    public List<Libro> getListaLibros(){
        
        return listaLibros;
    }
     public List<Usuario> getListaUsuario(){
        listaUsuarios=usuarioBL.getAll();
        return listaUsuarios;
    }
       public List<Prestamo> getListaPrestamos(){
        ListaPrestamos=prestamoBl.getAll();
        return ListaPrestamos;
    }
       public String preparaAutor(){
    prestamo.setId(idUsuarioSelicionado);
    return "PrestamoConfirmar";
    }
         public String procesarAccion(){          
       prestamoBl.lendBooks(prestamo.getIdusuario(), listaLibros);
        return "ListaPrestamos";
       }
       //---------listener-----------
       public void prepararNuevo(ActionEvent evt){
prestamo= new Prestamo();
listaLibros= new ArrayList<Libro>();
       
}
     public void procesarSeleccion(ActionEvent evt){
     prestamo.setIdusuario(usuarioBL.findById(idUsuarioSelicionado));
     }      
       public void eliminar(ActionEvent evt){
int index=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
listaLibros.remove(index);         
 }    
/*/public void prepararEditar(ActionEvent evt)   
{
System.out.println(evt.getComponent().getClientId());
  n=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
    System.out.println("el numero es:"+n);
    libro=Lista.get(n);
    accion="Editar";
} 
public void prepararEliminar(ActionEvent evt)   
{
System.out.println(evt.getComponent().getClientId());
 n=Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
    System.out.println("el numero es:"+n);
    ListaPrestamos=listaLibros.get(n);
    accion="Eliminar";
}  */  
public void agraegarLibro(ActionEvent evt){
      Libro l=libroBl.findByClaveForLend(CodigoLibro);
 if(l!=null){
        listaLibros.add(l);
}
}
}

